package cn.iocoder.yudao.module.pi.controller.admin.bizlog.retry;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.pi.controller.admin.bizlog.retry.dto.ApiInterfaceRetryDTO;
import cn.iocoder.yudao.module.pi.controller.admin.bizlog.retry.dto.ApiInterfaceRetryPageDTO;
import cn.iocoder.yudao.module.pi.controller.admin.bizlog.retry.vo.ApiInterfaceRetryVO;
import cn.iocoder.yudao.module.pi.service.bizlog.retry.ApiInterfaceRetryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.validation.Valid;


/**
 * <p>
 * 接口重试记录表 前端控制器
 * </p>
 *
 * @author shaoxh
 * @since 2025-06-27
 */
@RestController
@RequestMapping("/apiInterfaceRetry")
@Slf4j
public class ApiInterfaceRetryController {

    @Resource
    private ApiInterfaceRetryService apiInterfaceRetryService;

    /**
     * 修改重试接口报文体
     *
     * @param request 改后的报文体
     * @return
     */
    @PostMapping("/update_jsonData")
    public CommonResult<String> updateJsonData(@Valid @RequestBody ApiInterfaceRetryDTO request) {
        return apiInterfaceRetryService.updateJsonData(request);
    }

    /**
     * 重新发送
     *
     * @param requestId 请求id
     * @return
     */
    @GetMapping("/resend/{requestId}")
    public CommonResult<String> resend(@PathVariable String requestId) {
        return apiInterfaceRetryService.resend(requestId);
    }

    /**
     * 分页查询
     *
     * @param request 請求對象
     * @return
     */
    @PostMapping("/page")
    public CommonResult<PageResult<ApiInterfaceRetryVO>> page(@Valid @RequestBody ApiInterfaceRetryPageDTO request) {
        return apiInterfaceRetryService.pageData(request);
    }

}
